zabbix部署文档

Zabbix 5.0 完整部署文档(龙蜥810 + MySQL)

环境准备:

server 10.0.0.112
client 10.0.0.113
环境版本号
zabbix5.0.47
mysql5.7.44
php7.2.24
httpd(apache)2.4.37
chrony4.5

配置时间同步/时区

# 安装 chrony
yum -y install chrony

# 启动并启用服务
systemctl start chronyd
systemctl enable chronyd

# 配置时间服务器(编辑配置文件)
vi /etc/chrony.conf

# 在配置文件中添加或修改服务器,例如:
# server ntp.aliyun.com iburst
# server ntp1.aliyun.com iburst

# 重启服务
systemctl restart chronyd

# 手动同步时间
chronyc -a makestep

# 查看时间同步状态
chronyc sources -v
chronyc tracking

#时区同步
#设定时区:
timedatectl set-timezone "Asia/Shanghai"
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

第一部分:服务端部署 (10.0.0.112)

zabbix 5.0版本基本要求

1、zabbix 5.0后 版本后 对php版本至少7.0

2、2G2核

3、zabbix-server服务端安装

安装 MySQL Server(本文5.7.4)

CentOS8安装mysql5.7详细可用教程-CSDN博客

1.获取安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

2.开始安装

yum localinstall mysql57-community-release-el7-11.noarch.rpm

检查mysql源是否安装成功:如果没成功重新上一步

yum repolist enabled | grep "mysql.*.community.*"

再依次执行下面两条语句:

yum module disable mysql
yum -y install mysql-community-server

这里显示GPG-check有问题的可以执行下下面这个语句:(没问题的可以不执行)

rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum clean packages
#或者临时禁用gpg检查
yum -y install mysql-community-server --nogpgcheck

4.启动MySQL

systemctl start mysqld.service

5.查看状态

systemctl status mysqld.service

# 如果出现如下报错,请换成 service mysqld status 这条命令
Unit mysql.service could not be found.

6.设置开机启动

systemctl enable mysqld
systemctl daemon-reload

7.查看开机启动状态

systemctl list-unit-files | grep mysqld

8.获取初始密码

grep 'temporary password' /var/log/mysqld.log

9.登录mysql修改密码,并开启远程访问

mysql -u root -p

设置新密码与远程访问:(默认密码需要强密码,大小写+数字+字符)

# 设置新密码(需要大写、小写、数字、符号)
set password for 'root'@'localhost'='你的新密码';

# 设置远程访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '你的新密码'  WITH GRANT OPTION;

# 刷新使配置生效
flush privileges;

到此,大功告成,记得去把 3306 端口的防火墙放开!

#测试环境关闭防火墙
systemctl disable --now  firewalld

以上配置后如果出现无法登录mysql的问题可以执行下面步骤重新安装

# 卸载现有MySQL
sudo yum remove mysql mysql-server

# 清理残留文件
sudo rm -rf /var/lib/mysql
sudo rm -rf /etc/my.cnf

# 重新安装
sudo yum install mysql-server
sudo systemctl start mysqld

yum -y install mysql-community-server --nogpgcheck

1. 安装zabbix

#获取zabbix官方源
yum install -y https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
#修改配置源文件
sed -i 's#http://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#yum源初始化
yum clean all && yum makecache
#安装zabbix-agent2或zabbix-agent
yum install zabbix-agent2 -y
#启动zabbix-agent2
systemctl enable --now zabbix-agent2.service
#检查启动状态
ss -lntup | grep zabbix
#配置文件修改
vim  /etc/zabbix/zabbix_agent2.conf
#查看文件内容
egrep -v '^$|#' /etc/zabbix/zabbix_agent2.conf
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0
Server=127.0.0.1,10.0.0.112           # zabbix-server服务端IP
ServerActive=127.0.0.1,10.0.0.112    
Hostname=10.0.0.112                   # zabbix server本机地址           
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
#重新启动(生效配置文件)
systemctl restart zabbix-agent2.service 
#检查启动状态
ss -lntup | grep 10050

2. 创建Zabbix数据库

# 登录MySQL
mysql -u root -p

# 创建Zabbix数据库和用户
CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin;
CREATE USER 'zabbix'@'localhost' IDENTIFIED BY 'zabbixPASSWORD123.';
GRANT ALL PRIVILEGES ON zabbix.* TO 'zabbix'@'localhost';
FLUSH PRIVILEGES;
exit

3. 查找并导入Zabbix SQL脚本

# 查找SQL脚本位置
find / -name "*.sql.gz" | grep zabbix

# 如果找到,导入数据库(时间可能会慢)
# 例如,如果路径是 /usr/share/doc/zabbix-server-mysql/create.sql.gz
zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix

4. 如果找不到SQL脚本,手动处理

# 检查已安装的Zabbix相关包
rpm -qa | grep zabbix

# 查看zabbix-server-mysql包安装的文件
rpm -ql zabbix-server-mysql-5.0.47

# 或者从您之前下载好的位置导入
# 假设您下载的Zabbix 5.0源码包在某个位置
cd /path/to/your/zabbix-5.0.47/database/mysql

# 按顺序导入SQL文件
mysql -uzabbix -p zabbix < schema.sql
mysql -uzabbix -p zabbix < images.sql
mysql -uzabbix -p zabbix < data.sql

5. 配置Zabbix服务端

# 编辑配置文件
vim /etc/zabbix/zabbix_server.conf

确保以下配置正确:

DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbixPASSWORD123.

LogFile=/var/log/zabbix/zabbix_server.log
LogFileSize=0
PidFile=/var/run/zabbix/zabbix_server.pid
SocketDir=/var/run/zabbix
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=4
AlertScriptsPath=/usr/lib/zabbix/alertscripts
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
StatsAllowedIP=127.0.0.1

6. 安装Web前端组件

# 安装Zabbix Web前端
yum install -y zabbix-web-mysql zabbix-apache-conf

# 安装Apache和PHP
yum install -y httpd php php-mysqlnd php-gd php-bcmath php-mbstring php-xml

7. 配置PHP

# 编辑PHP配置文件
vim /etc/php.ini

修改以下配置:

date.timezone = Asia/Shanghai
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300

8. 启动服务

# 启动Zabbix服务
systemctl start zabbix-server
systemctl enable zabbix-server

# 启动Apache
systemctl start httpd
systemctl enable httpd

#如果启动失败检查80端口是否被占用
ss -lntup | grep 80

第二部分:客户端部署 (10.0.0.113)

#获取zabbix官方源
yum install -y https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/8/x86_64/zabbix-release-5.0-1.el8.noarch.rpm
#修改配置源文件
sed -i 's#https://repo.zabbix.com#https://mirrors.aliyun.com/zabbix#' /etc/yum.repos.d/zabbix.repo
#yum源初始化
yum clean all && yum makecache
#安装zabbix-agent2或zabbix-agent
yum install zabbix-agent2 -y
#启动zabbix-agent2
systemctl enable --now zabbix-agent2.service
#检查启动状态
ss -lntup | grep zabbix
#配置文件修改
vim  /etc/zabbix/zabbix_agent2.conf
#查看文件内容
egrep -v '^$|#' /etc/zabbix/zabbix_agent2.conf
LogFile=/var/log/zabbix/zabbix_agent2.log
LogFileSize=0              
Server=10.0.0.112                        # zabbix-server服务端IP
ServerActive=10.0.0.112
Hostname=zabbix-client-113                 # 显示在web页面的主机名
Include=/etc/zabbix/zabbix_agent2.d/*.conf
ControlSocket=/tmp/agent.sock
#重新启动(生效配置文件)
systemctl restart zabbix-agent2.service 
#检查启动状态
ss -lntup | grep 10050

第三部分:Web界面配置

1. 访问Web安装向导

在浏览器中访问:

http://10.0.0.112/zabbix

2. 按步骤完成安装

第一步:欢迎页面

  • 检查所有前提条件是否为”OK”
  • zabbix1
  • zabbix2

第二步:配置数据库连接

数据库类型: MySQL
数据库主机: localhost
数据库端口: 3306
数据库名称: zabbix
用户: zabbix
密码: zabbixPASSWORD123.
zabbix3

第三步:Zabbix服务器详情

服务器名称: Zabbix Server 112
时区: Asia/Shanghai
zabbix4

第四步:预览设置

  • 确认配置信息正确
  • zabbix5

第五步:完成安装

3. 登录系统

  • 用户名: Admin
  • 密码: zabbix
zabbix7

更改web语言

zabbix8

4. 开始使用

添加客户端主机:配置→主机→创建主机
image-20251105170420921

输入客户端主机名(客户端配置文件中Hostname的值,必须完全一样)

ip地址:10.0.0.113

端口:10050

image-20251105170517793

添加模板Template App Zabbix Server,Template OS Linux by Zabbix agent

image-20251105170821697

添加成功提示:

image-20251105170941336

显示与112的相同即可

image-20251105171112007

第四部分:常见问题解决

图形页面乱码(不能正常显示中文)

# 1、安装中文字体
yum -y install wqy-microhei-fonts

#2、将下载好的二进制文件复制到指定路径下
cp /usr/share/fonts/wqy-microhei/wqy-microhei.ttc /usr/share/fonts/dejavu/DejaVuSans.ttf

如果找不到SQL脚本,可以:

方法一:从官网下载(仅限6.0.0以上)

# 下载Zabbix 5.0源码包
wget https://cdn.zabbix.com/zabbix/sources/stable/6.0/zabbix-6.0.0.tar.gz
tar -xf zabbix-6.0.0.tar.gz
cd zabbix-6.0.0/database/mysql

数据库连接问题排查

# 测试数据库连接
mysql -uzabbix -p -h localhost zabbix

# 检查数据库权限
mysql -u root -p
SHOW GRANTS FOR 'zabbix'@'localhost';

服务状态检查

# 服务端检查
systemctl status zabbix-server
tail -f /var/log/zabbix/zabbix_server.log
#客户端检查
systemctl status zabbix-agent2
tail -f /var/log/zabbix/zabbix_agent2.log

排查客户端能否正常连接

服务端:

# 测试网络连通性
ping 10.0.0.113
# 测试端口连通性
telnet 10.0.0.113 10050
yum install -y zabbix-get

zabbix_get -s 10.0.0.113 -k "system.users.num"
#看日志
tail -f /var/log/zabbix/zabbix_server.log

客户端:

# 检查防火墙状态
systemctl status firewalld

# 如果防火墙开启,检查端口是否开放
zabbix_get -s 10.0.0.113 -k "system.users.num"

# 如果没有开放,添加规则
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --reload

#检查Zabbix Agent配置:cat /etc/zabbix/zabbix_agent2.conf
# 允许连接的服务器IP(添加Zabbix服务器IP)
Server=10.0.0.112,127.0.0.1
# 主动检查的服务器IP
ServerActive=10.0.0.112,127.0.0.1
# 监听所有接口
ListenIP=0.0.0.0
# 主机名(必须与Web界面中配置的一致)
Hostname=10.0.0.113


# 重启agent服务
systemctl restart zabbix-agent2
# 检查服务状态
systemctl status zabbix-agent2
# 检查端口监听
netstat -tulnp | grep 10050
# 或使用
ss -tulnp | grep 10050
#看日志
tail -f /var/log/zabbix/zabbix_agent2.log

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部